package com.cykj.order.domain.dto;

/**
 * @BelongsProject: Cykj-Order-System
 * @BelongsPackage: com.cykj.order.domain.dto
 * @Author: cwx
 * @CreateTime: 2025/9/4 12:04
 * @Description:
 * @Version: 1.0
 */

import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

/**
 * 创建订单请求DTO（接收前端参数）
 */
@Data
public class OrderCreateReqDTO {

    /** 用户ID（前端customerId） */
    @NotNull(message = "用户ID不能为空")
    private Long customerId;

    /** 店铺ID（前端businessId） */
    @NotNull(message = "店铺ID不能为空")
    private Long businessId;

    /** 购物车ID */
    @NotNull(message = "购物车ID不能为空")
    private Long cartId;

    /** 地址ID */

    private Long addressId;

    /** 配送费 */
    @NotNull(message = "配送费不能为空")
    private BigDecimal deliveryFee;

    /** 订单备注 */
    private String remark;

    /** 订单编号（前端生成，后端校验唯一性） */
    @NotBlank(message = "订单编号不能为空")
    private String orderNumber;

    /** 订单商品列表 */
    @NotEmpty(message = "商品列表不能为空")
    private List<OrderItemReqDTO> orderItems;
}

